// import com.alibaba.druid.sql.ast.SQLExpr;
// import com.alibaba.druid.sql.ast.SQLName;
// import com.alibaba.druid.sql.ast.SQLStatement;
// import com.alibaba.druid.sql.ast.SQLStatementImpl;
// import com.alibaba.druid.sql.visitor.SQLASTVisitor;

// import java.util.ArrayList;
// import java.util.List;
#pragma once
#include "../SQLStatementImpl.h"

class SQLForStatement : virtual public SQLStatementImpl
{
public:
  SQLName_ptr index;
  SQLExpr_ptr range;

  SQLStatement_list_ptr statements;

  SQLForStatement();
  SHAREDOBJECT(SQLForStatement);

  SQLName_ptr getIndex();

  void setIndex(SQLName_ptr index);

  SQLExpr_ptr getRange();

  void setRange(SQLExpr_ptr range);

  SQLStatement_list_ptr getStatements();

  // @Override
  void accept0(SQLASTVisitor_ptr v);
};
